//
// Created by zpf on 2023/5/16.
//

#ifndef UKUI_SNI_STATUS_NOTIFIER_HOST_H
#define UKUI_SNI_STATUS_NOTIFIER_HOST_H
#include <QObject>
#include "status-notifier-item.h"
namespace UkuiSni {
class StatusNotifierHostPrivate;
class StatusNotifierHost : public QObject
{
    Q_OBJECT
public:
    static StatusNotifierHost *self();
    ~StatusNotifierHost() override;

    void registerHost();
    QList<StatusNotifierItem *> items();
    const QList<QString> services() const;

    UkuiSni::StatusNotifierItem *itemForService(const QString service);
Q_SIGNALS:
    void itemAdded(const QString &service);
    void itemRemoved(const QString &service);
private:
    explicit StatusNotifierHost(QObject *parent = nullptr);
    StatusNotifierHostPrivate *d = nullptr;

};
}

#endif //UKUI_SNI_STATUS_NOTIFIER_HOST_H
